package bm.com.ai.server.LLModel.strategy;

import bm.com.ai.server.dto.MessageRequest;
import bm.com.ai.server.dto.MessageResponse;
import bm.com.ai.server.LLModel.constant.ModelType;


/**
 * 模型策略接口，定义了所有AI模型必须实现的方法
 *  * 策略模式核心接口
 */
public interface ModelStrategy {

    /**
     * 获取模型类型
     */
    ModelType getModelType();

    /**
     * 处理消息请求
     */
    MessageResponse process(MessageRequest request);

    /**
     * 判断是否支持该请求
     */
    boolean supports(MessageRequest request);

    /**
     * 初始化模型
     */
    void initialize();

    /**
     * 检查模型健康状态
     */
    boolean isHealthy();
}